#ifndef CONTROL_API_H_
#define CONTROL_API_H_

#include "math.h"
#include "stdint.h"

#define  POSMAXVALUE   32765*65536

void SetTorqueRef(float RefValue);
void ParaLimit(float *para,float max,float min);
float SetPID_float(uint8_t PIDvalueU8,float max);
void ControlRly(uint8_t state);
void SetSpeedRef(float RefValue);
void SetPositionRef(float RefValue);
void MotorShutdown(void);
float getPosAngle(void);
void SaveEncoderMutiturn(void);
uint32_t GetSystemMSCnt(void);
void CommLostProtection(void);
void FaultSendRun(void);
int16_t GetIqReal(void);
int16_t GetGearOutSpd_DPS(void);
int16_t GetPosAngle(void);
int16_t GetMotorTemp(void);
float GetSingleAngle_float(void);
void SetSinglePosRef(float RefValue);
void Set_CSP_Angle_SpdLimit(float RefValue);
uint16_t GetSingleENCData(void);
void SetIncPositionRef(float RefValue);
int32_t GetmotorAngle(void);
float GetSingleAngleFB(void);
uint8_t GetRlyCtrlRslt(void);
uint16_t GetVbus(void);
uint16_t GetErrorState(void);
int16_t GetPhaseUCurrent(void);
int16_t GetPhaseVCurrent(void);
int16_t GetPhaseWCurrent(void);
void MotorStop(void);
uint8_t GetRunMode(void);
uint32_t GetCommWGCnt(void);
void SetCommWGCnt(uint32_t value);
void CommbaudrateConfig(uint8_t CAN_bps);

#endif

